VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Base"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'***************************************************************
' (c) Copyright 2000 Matthew J. Curland
'
' This file is from the CD-ROM accompanying the book:
' Advanced Visual Basic 6: Power Techniques for Everyday Programs
'   Author: Matthew Curland
'   Published by: Addison-Wesley, July 2000
'   ISBN: 0-201-70712-8
'   http://www.PowerVB.com
'***************************************************************
Option Explicit
Private m_pOuter As Long

Public Function OverrideMe() As String
    OverrideMe = "Base.OverrideMe"
End Function

Friend Function SetOuter(ByVal pOuter As IUnknown)
    m_pOuter = ObjPtr(pOuter)
End Function

'Retrieve the controlling IUnknown of the outer
'object. You can assign this to a Base-type variable
'to get the current external vtable for Base.
Private Function GetOuter() As IUnknown
    VBoost.AssignAddRef GetOuter, m_pOuter
End Function
